Recette n 30 Accder au carnet dadresses 
Page 84


public class MainActivity extends Activity {

// ...

   @Override
   public void onResume() {
      super.onResume();

      // On inscrit mMessageReceiver auprs du gestionnaire et on filtre les elements "mon-event".
      LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, new IntentFilter("mon-event"));
   }

   // Gestion de la rception des intents pour les vnements de type "mon-event"
   private BroadcastReceiver mMessageReceiver = new BroadcastReceiver()
   {
      @Override
      public void onReceive(Context context, Intent intent)
      {
         // On va lire les donnes "message" de l'intent reu
         String message = intent.getStringExtra("message");
         Log.d("receiver", "Message reu : " + message);
      }
   };

   @Override
   protected void onPause()
   {
      // On dsinscrit mMessageReceiver quand l'activit n'est pas visible
      LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver);
      super.onPause();
   }
   
   // Cette mthode est assigne au bouton btnSend grce  la proprit onClick dans le layout
   public void onClick(View view)
   {
      Log.d("sender", "Envoi d'un message");
      sendMessage();
   }

   // Fonction d'envoi de message avec l'intent "mon-event".
   private void sendMessage() {
      Intent intent = new Intent("mon-event");
      intent.putExtra("message", "Donnes de mon message.");
      LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
   }
}
